Data Structures with Arithmetic Constraints: A Non-disjoint Combination
نویسندگان
چکیده
We apply an extension of the Nelson-Oppen combination method to develop a decision procedure for the non-disjoint union of theories modeling data structures with a counting operator and fragments of arithmetic. We present some data structures and some fragments of arithmetic for which the combination method is complete and effective. To achieve effectiveness, the combination method relies on particular procedures to compute sets that are representative of all the consequences over the shared theory. We show how to compute these sets by using a superposition calculus for the theories of the considered data structures and various solving and reduction techniques for the fragments of arithmetic we are interested in, including Gauss elimination, Fourier-Motzkin elimination and Groebner bases computation. Key-words: Satisfiability Procedure, Combination, Equational Reasoning, Union of Non-Disjoint Theories, Arithmetic ∗ E-mail: [email protected] in ria -0 03 97 08 0, v er si on 1 19 J un 2 00 9 Structures de données avec contraintes arithmétiques: une combinaison non-disjointe Résumé : Nous appliquons une extension de la méthode de combinaison de NelsonOppen pour développer une procédure de décision pour un mélange non-disjoint de théories modélisant des structures de données avec un opérateur de comptage et des fragments arithmétiques. Nous présentons des structures de données et des fragments arithmétiques pour lesquelles la méthode de combinaison est complète et effective. Pour être effective, la procédure de combinaison utilise des procédures spécifiques permettant de calculer une représentation de l’ensemble des conséquences logiques exprimées sur la signature partagée d’une formule satisfiable. Nous montrons comment construire de telles procédures en utilisant un calcul de superposition basé sur des techniques de réécriture pour les structures de données et des méthodes de résolution classiques pour l’arithmétique comme l’élimination de Gauss, l’élimination de Fourier-Motzkin et le calcul de bases de Groebner. Mots-clés : procédure de satisfiabilité, combinaison, raisonnement équationnel, mélange de théories non-disjointes, arithmétique in ria -0 03 97 08 0, v er si on 1 19 J un 2 00 9 Data Structures with Arithmetic Constraints: a Non-Disjoint Combination 3
منابع مشابه
Satisfiability Modulo Non-Disjoint Combinations of Theories Connected via Bridging Functions
Solving the satisfiability problem modulo a theory given as a union of decidable sub-theories naturally calls for combination methods. The Nelson-Oppen combination method [11] has been developed more than 30 years ago, and is now ubiquitous in SMT (Satisfiability Modulo Theories) solvers. However, this technique imposes strong assumptions on the theories in the combination; in the classical sch...
متن کاملA Polite Non-Disjoint Combination Method: Theories with Bridging Functions Revisited
The Nelson-Oppen combination method is ubiquitous in Satisfiability Modulo Theories solvers. However, one of its major drawbacks is to be restricted to disjoint unions of theories. We investigate the problem of extending this combination method to particular non-disjoint unions of theories connected via bridging functions. The motivation is, e.g., to solve verification problems expressed in a c...
متن کاملOn the Combination of Symbolic Constraints, Solution Domains, and Constraint Solvers
When combining languages for symbolic constraints, one is typically faced with the problem of how to treat \mixed" constraints. The two main problems are (1) how to deene a combined solution structure over which these constraints are to be solved, and (2) how to combine the constraint solving methods for pure constraints into one for mixed constraints. The paper introduces the notion of a \free...
متن کاملDecision procedures for term algebras with integer constraints
Term algebras can model recursive data structures which are widely used in programming languages. To verify programs we must be able to reason about these structures. However, as programming languages often involve multiple data domains, in program verification decision procedures for a single theory are usually not applicable. An important class of mixed constraints consists of combinations of...
متن کاملModular Termination and Combinability for Superposition Modulo Counter Arithmetic
Modularity is a highly desirable property in the development of satisfiability procedures. In this paper we are interested in using a dedicated superposition calculus to develop satisfiability procedures for (unions of) theories sharing counter arithmetic. In the first place, we are concerned with the termination of this calculus for theories representing data structures and their extensions. T...
متن کامل